DAX (Data Analysis Expressions) একটি ভাষা যা Power BI, Power Pivot, এবং SSAS (SQL Server Analysis Services)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং গণনা করার জন্য। এটি Excel-এ formula লেখা বা functions ব্যবহারের মতো, তবে DAX একটি বিশেষ ভাষা যা ডেটাবেস এবং বড় ডেটা সেটের উপর কার্যকরী গণনা করতে ব্যবহৃত হয়। Basic Aggregation Functions হল DAX-এর মৌলিক ফাংশন যা ডেটা সংগ্রহ এবং পরিমাপ করার জন্য ব্যবহৃত হয়, যেমন মোট, গড়, সর্বোচ্চ, সর্বনিম্ন ইত্যাদি।
এখানে, আমরা DAX-এর Basic Aggregation Functions সম্পর্কে বিস্তারিত আলোচনা করব এবং কীভাবে এগুলি ব্যবহার করা হয় তা দেখব।
DAX-এর Basic Aggregation Functions ব্যবহার করে আপনি ডেটা সেটের উপর বিভিন্ন ধরনের গণনা করতে পারেন, যেমন যোগফল, গড়, সর্বোচ্চ, সর্বনিম্ন ইত্যাদি। এই ফাংশনগুলো সাধারণত SUM, AVERAGE, MIN, MAX, COUNT, COUNTROWS ইত্যাদি ব্যবহৃত হয়।
SUM ফাংশনটি একটি নির্দিষ্ট কলামের সমস্ত মান যোগ করার জন্য ব্যবহৃত হয়।
Syntax:
SUM(<column>)
ব্যবহার: যেমন, আপনি যদি Sales কলামে সমস্ত বিক্রয়ের যোগফল জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Total Sales = SUM(Sales[Amount])
AVERAGE ফাংশনটি একটি নির্দিষ্ট কলামের গড় মান হিসাব করতে ব্যবহৃত হয়।
Syntax:
AVERAGE(<column>)
ব্যবহার: যেমন, আপনি যদি Sales কলামের গড় বিক্রয় জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Average Sales = AVERAGE(Sales[Amount])
MIN ফাংশনটি একটি নির্দিষ্ট কলামের সর্বনিম্ন মান ফেরত দেয়।
Syntax:
MIN(<column>)
ব্যবহার: যেমন, আপনি যদি Sales কলামে সর্বনিম্ন বিক্রয় মূল্য জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Min Sales = MIN(Sales[Amount])
MAX ফাংশনটি একটি নির্দিষ্ট কলামের সর্বোচ্চ মান ফেরত দেয়।
Syntax:
MAX(<column>)
ব্যবহার: যেমন, আপনি যদি Sales কলামে সর্বোচ্চ বিক্রয় মূল্য জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Max Sales = MAX(Sales[Amount])
COUNT ফাংশনটি একটি কলামে সংখ্যা বা মানের সংখ্যা গণনা করতে ব্যবহৃত হয়। এটি শুধুমাত্র সংখ্যাসূচক মানের জন্য কাজ করে।
Syntax:
COUNT(<column>)
ব্যবহার: যেমন, আপনি যদি Sales কলামে কতটি সেল ট্রানজেকশন হয়েছে তা জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Count Sales Transactions = COUNT(Sales[Amount])
COUNTROWS ফাংশনটি একটি টেবিল বা ফিল্টার করা টেবিলের সারি সংখ্যা গণনা করতে ব্যবহৃত হয়।
Syntax:
COUNTROWS(<table>)
ব্যবহার: যেমন, আপনি যদি Sales টেবিলের মোট সারি সংখ্যা জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Total Sales Records = COUNTROWS(Sales)
DISTINCTCOUNT ফাংশনটি একটি কলামে বিভিন্ন (unique) মানের সংখ্যা গণনা করতে ব্যবহৃত হয়।
Syntax:
DISTINCTCOUNT(<column>)
ব্যবহার: যেমন, আপনি যদি Sales টেবিলে কতটি বিভিন্ন পণ্য বিক্রি হয়েছে তা জানতে চান, তাহলে এটি ব্যবহার করা হবে:
Distinct Products Sold = DISTINCTCOUNT(Sales[ProductID])
DAX-এর Basic Aggregation Functions ডেটার উপর বিভিন্ন ধরনের বিশ্লেষণ এবং গণনা করতে ব্যবহৃত হয়, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য সহায়ক। এই ফাংশনগুলো SUM, AVERAGE, MIN, MAX, COUNT, COUNTROWS ইত্যাদি ডেটার আউটপুট পেতে সহজ এবং কার্যকরী উপায় সরবরাহ করে। DAX-এর সাহায্যে আপনি কাস্টম বিশ্লেষণ তৈরি করতে পারেন যা আপনার প্রতিষ্ঠানের জন্য গুরুত্বপূর্ণ ডেটা তুলে ধরে।
এই ফাংশনগুলো বিভিন্ন ধরণের বিশ্লেষণ করতে সহায়ক যেমন:
DAX ফাংশনগুলির দক্ষ ব্যবহার নিশ্চিত করতে হলে সঠিক ডেটা মডেল এবং সঠিক কাস্টম ফিল্টারিং বা পারামিটারাইজেশন অপরিহার্য।
DAX (Data Analysis Expressions) হলো একটি এক্সপ্রেশন ল্যাংগুয়েজ, যা Power BI, PowerPivot এবং SQL Server Analysis Services (SSAS)-এ ব্যবহার করা হয়। DAX ফাংশনগুলি সাধারণত calculated columns, measures, এবং tables তৈরিতে ব্যবহৃত হয়। এর মাধ্যমে ডেটার উপর গণনা এবং বিশ্লেষণ করা হয়। SUM, AVERAGE, MIN, এবং MAX ফাংশনগুলি ড্যাক্সের সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ ফাংশনগুলির মধ্যে পড়ে, যা বিভিন্ন ধরনের গাণিতিক এবং পরিসংখ্যানগত হিসাব করতে ব্যবহৃত হয়।
এই ফাংশনগুলির মাধ্যমে আপনি সিম্পল বা জটিল হিসাব তৈরি করতে পারবেন, এবং ডেটার উপর বিভিন্ন ধরনের অপারেশন করতে সক্ষম হবেন। নিচে এই ফাংশনগুলির বিস্তারিত ব্যবহার সম্পর্কে আলোচনা করা হলো।
SUM ফাংশনটি একটি কলামের সমস্ত মানের যোগফল নির্ধারণ করে। এটি একটি খুব সাধারণ কিন্তু গুরুত্বপূর্ণ ফাংশন, যা সংখ্যা ডেটা নিয়ে কাজ করতে ব্যবহৃত হয়।
SUM(<ColumnName>)
ধরা যাক, আপনার কাছে একটি Sales টেবিল আছে, যেখানে প্রতিটি সারিতে বিক্রির পরিমাণ রয়েছে। আপনি যদি সব বিক্রির যোগফল জানতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করতে পারেন:
Total Sales = SUM(Sales[Amount])
এই এক্সপ্রেশনটি Sales[Amount] কলামের সমস্ত মান যোগ করবে এবং তার ফলাফল ফিরিয়ে দেবে।
AVERAGE ফাংশনটি একটি কলামের গড় মান নির্ধারণ করে। এটি মূলত সেলস ডেটা বা অন্যান্য পরিসংখ্যান বিশ্লেষণে ব্যবহৃত হয়।
AVERAGE(<ColumnName>)
ধরা যাক, আপনি Sales টেবিলের গড় বিক্রির পরিমাণ বের করতে চান:
Average Sales = AVERAGE(Sales[Amount])
এই এক্সপ্রেশনটি Sales[Amount] কলামের সমস্ত মানের গড় বের করবে।
MIN ফাংশনটি একটি কলামের সর্বনিম্ন মান বের করে। এটি বিশেষভাবে দরকারি যখন আপনি সর্বনিম্ন বিক্রয়, সর্বনিম্ন মূল্য বা অন্যান্য প্রাসঙ্গিক পরিসংখ্যান বের করতে চান।
MIN(<ColumnName>)
ধরা যাক, আপনি Sales টেবিলের সর্বনিম্ন বিক্রির পরিমাণ বের করতে চান:
Min Sales = MIN(Sales[Amount])
এই এক্সপ্রেশনটি Sales[Amount] কলামের সর্বনিম্ন মান বের করবে।
MAX ফাংশনটি একটি কলামের সর্বাধিক মান নির্ধারণ করে। এটি বিক্রির পরিমাণ, মুনাফা বা অন্যান্য মানের সর্বোচ্চ স্তর বিশ্লেষণ করার জন্য ব্যবহৃত হয়।
MAX(<ColumnName>)
ধরা যাক, আপনি Sales টেবিলের সর্বাধিক বিক্রির পরিমাণ বের করতে চান:
Max Sales = MAX(Sales[Amount])
এই এক্সপ্রেশনটি Sales[Amount] কলামের সর্বোচ্চ মান বের করবে।
এই ফাংশনগুলি একসাথে ব্যবহার করে আরও জটিল গাণিতিক বা পরিসংখ্যানগত বিশ্লেষণ করা যেতে পারে। যেমন, আপনি SUM এবং AVERAGE ফাংশন ব্যবহার করে একটি কাস্টম হিসাব তৈরি করতে পারেন, যেমন গড় বিক্রির তুলনায় মোট বিক্রির পার্সেন্টেজ:
Sales Percentage = DIVIDE(SUM(Sales[Amount]), AVERAGE(Sales[Amount]))
এছাড়া, MIN এবং MAX ফাংশন ব্যবহার করে কিছু স্পেসিফিক রেঞ্জ বা সীমার মধ্যে ডেটা বিশ্লেষণ করা যেতে পারে।
এই ফাংশনগুলি ডেটা বিশ্লেষণ এবং গণনা করার ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ। কগনোস (Cognos) এবং অন্যান্য BI টুলসের মধ্যে DAX ফাংশন ব্যবহার করে সহজেই গাণিতিক এবং পরিসংখ্যানগত বিশ্লেষণ করতে পারেন।
DAX (Data Analysis Expressions) হলো Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এর জন্য ব্যবহৃত একটি শক্তিশালী এক্সপ্রেশন ভাষা, যা ডেটার বিশ্লেষণ এবং রিপোর্টিংয়ের জন্য বিভিন্ন ধরনের ফাংশন প্রদান করে। DAX-এ বেশ কিছু ফাংশন রয়েছে যা ডেটার উপর নির্ভর করে বিভিন্ন গণনা করতে ব্যবহৃত হয়। এর মধ্যে COUNT, COUNTA, এবং COUNTROWS ফাংশনগুলো খুবই গুরুত্বপূর্ণ এবং ব্যবহৃত।
এই প্রবন্ধে, আমরা COUNT, COUNTA, এবং COUNTROWS ফাংশনগুলোর কার্যপ্রণালী এবং পার্থক্য নিয়ে আলোচনা করবো।
COUNT ফাংশনটি শুধুমাত্র সংখ্যাগত (numeric) ডেটার ক্ষেত্রের মান গণনা করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট কলামে নম্বর/সংখ্যা মান গননা করে। যদি কলামে NULL বা খালি সেল থাকে, তাহলে সেগুলো গণনা করা হয় না।
COUNT(Column)
যেমন, যদি আপনার একটি কলাম থাকে SalesAmount, এবং আপনি জানতে চান কতটি সংখ্যা (numeric values) রয়েছে, তাহলে আপনি নিচের মতো ব্যবহার করতে পারেন:
COUNT(Sales[SalesAmount])
এটি SalesAmount কলামের শুধুমাত্র সংখ্যাগত মানগুলোর সংখ্যা গণনা করবে।
COUNTA ফাংশনটি ব্ল্যাংক (blank) বা null ছাড়া যেকোনো ধরনের মান, যেমন সংখ্যা, টেক্সট, বা অন্য যেকোনো ডেটা টাইপের ক্ষেত্রে ব্যবহৃত হয়। এটি কোন কলামে মোট non-blank সেলগুলো গণনা করে।
COUNTA(Column)
যেমন, যদি আপনি SalesData টেবিলের CustomerName কলামে কতোটি non-blank সেল আছে, তা জানতে চান, তাহলে আপনি ব্যবহার করতে পারেন:
COUNTA(Sales[CustomerName])
এটি CustomerName কলামে null বা blank ছাড়া সমস্ত মান গণনা করবে, যা সংখ্যার পাশাপাশি টেক্সটও অন্তর্ভুক্ত করে।
COUNTROWS ফাংশনটি একটি টেবিলের বা ফিল্টার করা টেবিলের সারির সংখ্যা গণনা করতে ব্যবহৃত হয়। এটি টেবিলের প্রতিটি সারি গণনা করে, এবং ফিল্টার প্রয়োগ করা হলে শুধু সেই সারিগুলো গণনা করা হয় যা ফিল্টারের শর্ত পূরণ করে।
COUNTROWS(Table)
যেমন, আপনি যদি Sales টেবিলের মোট সারির সংখ্যা জানতে চান, তবে ব্যবহার করবেন:
COUNTROWS(Sales)
এটি Sales টেবিলের মোট সারির সংখ্যা প্রদান করবে।
ফাংশন | কাজ | গণনা করবে | গণনা করবে না |
---|---|---|---|
COUNT | সংখ্যাগত মান | শুধু সংখ্যা | blank বা null |
COUNTA | সকল ধরনের non-blank মান | সংখ্যা, টেক্সট | blank বা null |
COUNTROWS | টেবিলের বা সারির সংখ্যা | সব সারি | blank সারি |
COUNT, COUNTA, এবং COUNTROWS ফাংশনগুলি DAX এর অত্যন্ত গুরুত্বপূর্ণ ফাংশন, যা ডেটার পরিসংখ্যান বিশ্লেষণে ব্যবহৃত হয়। আপনি কগনোস বা Power BI-তে এই ফাংশনগুলোর মাধ্যমে সহজেই বিভিন্ন ডেটার উপরে গণনা করতে পারেন, যা আপনাকে দ্রুত বিশ্লেষণ করতে সহায়ক। COUNT সংখ্যাগত ডেটা, COUNTA সব ধরনের non-blank ডেটা এবং COUNTROWS টেবিল বা সারির সংখ্যা গণনা করে, যার মাধ্যমে আপনি সঠিক সিদ্ধান্ত গ্রহণে সহায়ক তথ্য পেতে পারেন।
DAX (Data Analysis Expressions) হল Microsoft Power BI, Excel, এবং SQL Server Analysis Services (SSAS) এ ব্যবহৃত একটি শক্তিশালী এক্সপ্রেশন ল্যাঙ্গুয়েজ যা ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। এর মধ্যে DISTINCTCOUNT একটি গুরুত্বপূর্ণ ফাংশন, যা একটি কলামে বিভিন্ন ইউনিক (unique) মানের সংখ্যা গণনা করতে ব্যবহৃত হয়।
DISTINCTCOUNT হল একটি DAX aggregate function যা নির্দিষ্ট কলামে অনন্য (distinct) মানগুলির সংখ্যা প্রদান করে। এটি ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরির ক্ষেত্রে ব্যবহারকারীদের সাহায্য করে, যখন তারা জানতে চান কোন একটি নির্দিষ্ট কলামে কতটি ইউনিক ভ্যালু আছে।
Sintax:
DISTINCTCOUNT(<Column>)
এখানে:
<Column>
: এটি সেই কলামটি, যার মধ্যে ইউনিক মানের সংখ্যা গণনা করতে হবে।ধরা যাক, আপনার কাছে একটি সেলস টেবিল আছে যেখানে বিক্রির তথ্য রয়েছে। আপনি জানতে চান কতটি ভিন্ন পণ্য (Unique Products) বিক্রি হয়েছে।
আপনি যদি একটি টেবিলের মধ্যে পণ্যের আইডি বা নামের ইউনিক সংখ্যা বের করতে চান, তাহলে আপনি DISTINCTCOUNT ফাংশন ব্যবহার করতে পারেন।
UniqueProducts = DISTINCTCOUNT(Sales[ProductID])
এই ফর্মুলাটি Sales টেবিলের ProductID কলামের মধ্যে কতটি ইউনিক (distinct) পণ্য আইডি আছে তা গণনা করবে।
আপনি যদি CustomerID কলামের মধ্যে কতগুলি ইউনিক গ্রাহক রয়েছে তা জানতে চান, তাহলে আপনি এভাবে ফাংশন ব্যবহার করতে পারেন:
UniqueCustomers = DISTINCTCOUNT(Sales[CustomerID])
এই ফাংশনটি Sales টেবিলের CustomerID কলামে কতোটা ইউনিক গ্রাহক ID রয়েছে তা গণনা করবে।
DISTINCTCOUNT হল একটি গুরুত্বপূর্ণ DAX aggregate function যা কোনো কলামের মধ্যে ইউনিক (distinct) মানের সংখ্যা গণনা করতে ব্যবহৃত হয়। এটি ডেটা বিশ্লেষণ এবং রিপোর্টিংয়ে বিশেষভাবে কার্যকরী, যেখানে আপনি জানেন না ঠিক কতগুলি ইউনিক আইটেম বা ভ্যালু রয়েছে এবং সেগুলোর সংখ্যা জানতে চান। DISTINCTCOUNT ফাংশন ব্যবহার করে আপনি সহজেই ডেটাতে নির্দিষ্ট ইউনিক ভ্যালু গণনা করতে পারেন এবং এর মাধ্যমে আরও কার্যকরী বিশ্লেষণ করতে সক্ষম হন।
DAX (Data Analysis Expressions) হলো Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS) এর জন্য ব্যবহৃত একটি ফর্মুলা ভাষা। এটি ব্যবহারকারীদের ডেটা মডেলে জটিল ক্যালকুলেশন এবং বিশ্লেষণ করতে সহায়ক। DAX-এ বিভিন্ন ফাংশন রয়েছে যা ডেটার উপর aggregation (সামগ্রিক হিসাব) করতে ব্যবহৃত হয়। এর মধ্যে দুটি গুরুত্বপূর্ণ ফাংশন হলো ALL এবং ALLEXCEPT, যা ডেটার ওপর ফিল্টার প্রভাব সরিয়ে বিভিন্ন ধরনের অ্যাগ্রিগেট (গণনা) করার জন্য ব্যবহৃত হয়।
এই প্রবন্ধে আমরা ALL এবং ALLEXCEPT ফাংশন সম্পর্কে আলোচনা করব এবং কীভাবে এগুলি aggregation এবং filtering প্রক্রিয়ায় সাহায্য করে তা দেখাব।
ALL ফাংশন ড্যাক্সে একটি বিশেষ ফাংশন যা নির্দিষ্ট কলাম বা টেবিলের সমস্ত ফিল্টার অপসারণ করে। এটি সাধারণত ডেটা সেক্টরে ফিল্টার প্রভাব মুছে ফেলে এবং aggregate calculations করার জন্য ব্যবহৃত হয়।
ALL ফাংশন সাধারণত SUM, AVERAGE, COUNT, MAX, MIN ইত্যাদি aggregation functions এর সাথে ব্যবহৃত হয়, যেখানে ফিল্টার প্রভাব সরিয়ে সমস্ত ডেটার উপর গণনা করতে হয়।
Sintax:
ALL(<Table>)
ALL(<Column>)
উদাহরণ:
Total Sales Without Filter = CALCULATE(SUM(Sales[SalesAmount]), ALL(Sales))
এই উদাহরণে, ALL(Sales) ফাংশনটি Sales টেবিলের সকল ফিল্টার সরিয়ে ফেলবে এবং SUM(SalesAmount) গণনা করবে সমস্ত ডেটার জন্য, যে কোন ফিল্টার প্রভাবের বাইরে।
ALLEXCEPT ফাংশনও ফিল্টার অপসারণ করে, তবে এটি মাত্র এক বা একাধিক নির্দিষ্ট কলাম ছাড়া বাকি সমস্ত কলামের ফিল্টার অপসারণ করে। এটি সাধারণত aggregation এর ক্ষেত্রে ব্যবহৃত হয় যখন কিছু কলাম ধরে রাখতে হয় এবং বাকি কলামগুলোর ফিল্টার মুছে ফেলতে হয়।
ALLEXCEPT ফাংশন ব্যবহারকারীদের নির্দিষ্ট কলামের ভিত্তিতে ক্যালকুলেশন করতে সহায়তা করে, যখন বাকি কলামগুলির জন্য ফিল্টার সরিয়ে ফেলা হয়।
Sintax:
ALLEXCEPT(<Table>, <Column1>, <Column2>, ...)
উদাহরণ:
Sales Without Filter by Region = CALCULATE(SUM(Sales[SalesAmount]), ALLEXCEPT(Sales, Sales[Region]))
এই উদাহরণে, ALLEXCEPT(Sales, Sales[Region]) ফাংশনটি Sales টেবিলের মধ্যে Region কলাম ছাড়া বাকি সমস্ত ফিল্টার অপসারণ করবে, এবং SalesAmount এর উপর গণনা করবে, শুধুমাত্র Region এর জন্য ফিল্টার রেখে।
ফিচার | ALL | ALLEXCEPT |
---|---|---|
ফিল্টার অপসারণ | সমস্ত কলাম বা টেবিলের ফিল্টার অপসারণ করে। | শুধুমাত্র নির্দিষ্ট কলামের ফিল্টার রেখে, বাকি সব ফিল্টার অপসারণ করে। |
ব্যবহার | সমস্ত ডেটা বা টেবিলের জন্য গণনা করতে। | একটি নির্দিষ্ট কলাম ধরে রেখে বাকি কলামগুলোর ফিল্টার অপসারণ করতে। |
সাধারণ ব্যবহার | মোট সেলস, গড়, সর্বোচ্চ, সর্বনিম্ন ইত্যাদি গণনা। | নির্দিষ্ট একটি কলামের উপর গণনা রাখতে, যেমন time বা region এর ভিত্তিতে। |
ALL ফাংশন ব্যবহার করে সমস্ত ডেটার উপর মোট বিক্রয় গণনা:
Total Sales All Time = CALCULATE(SUM(Sales[SalesAmount]), ALL(Sales))
এখানে ALL(Sales) ফাংশনটি Sales টেবিলের সমস্ত ফিল্টার সরিয়ে ফেলে এবং সমস্ত ডেটার জন্য মোট বিক্রয় গণনা করে।
ALLEXCEPT ফাংশন ব্যবহার করে শুধুমাত্র Region কলামের ফিল্টার রেখে অন্য সমস্ত ফিল্টার অপসারণ:
Sales by Region = CALCULATE(SUM(Sales[SalesAmount]), ALLEXCEPT(Sales, Sales[Region]))
এখানে ALLEXCEPT(Sales, Sales[Region]) ফাংশনটি Region কলামটি ধরে রেখে, অন্য সমস্ত ফিল্টার সরিয়ে ফেলবে এবং SalesAmount এর উপর গণনা করবে শুধুমাত্র Region এর জন্য ফিল্টার সহ।
ALL এবং ALLEXCEPT ফাংশনগুলি ড্যাক্সে অ্যাগ্রিগেট ক্যালকুলেশন এবং ফিল্টার পরিচালনার জন্য খুবই গুরুত্বপূর্ণ টুল। ALL ফাংশন ডেটার উপর সমস্ত ফিল্টার সরিয়ে নেয়, যখন ALLEXCEPT ফাংশন একটি নির্দিষ্ট কলাম ছাড়া বাকি কলামগুলির ফিল্টার সরিয়ে ফেলে। এগুলি ব্যবহার করে আপনি আরও কার্যকরী এবং নির্ভুল ডেটা বিশ্লেষণ করতে পারেন।
Read more